package com.itfreer.xjmh.different.entity;

import java.io.Serializable;
import java.util.LinkedHashSet;
import java.util.Set;

import com.itfreer.form.api.entity.EntityBase;
import com.itfreer.form.api.reflect.DictionaryField;

import javax.persistence.*;

/**
 * 定义高风险旅客差异化安检数据采集记录表实体
 */
@Entity(name = "f_tourists_different")
public class TouristsDifferentEntity extends EntityBase implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键ID
	 */
	@Id
	@Column(name = "id", length = 50, nullable = true)
	private String id;

	/**
	 * 所属机场
	 */
	@Column(name = "airport", length = 50, nullable = true)
	@DictionaryField(dictionaryName = "zd_airport", toFieldName = "airportName")
	private String airport;

	@Transient
	private String airportName;

	/**
	 * 通道
	 * */
	@Column(name = "channel", length = 50, nullable = true)
	private String channel;

	/**
	 * 安全模式
	 */
	@Column(name = "security_model", length = 50, nullable = true)
	private String securitymodel;

	/**
	 * 记录日期
	 */
	@Column(name = "record_date", nullable = true)
	private java.util.Date recorddate;

	/**
	 * 记录时间开始
	 */
	@Column(name = "start_time", nullable = true)
	private java.util.Date starttime;

	/**
	 * 记录时间结束
	 */
	@Column(name = "end_time", nullable = true)
	private java.util.Date endtime;

	/**
	 * 受检人员
	 */
	@Column(name = "subject", length = 50, nullable = true)
	@DictionaryField(dictionaryName = "cms_sjry", toFieldName = "subjectName")
	private String subject;

	@Transient
	private String subjectName;

	/**
	 * 安检员数
	 */
	@Column(name = "screeners_count", nullable = true)
	private Integer screenerscount;

	/**
	 * 手提行李安全检查设备
	 */
	@Column(name = "equipment", length = 50, nullable = true)
	@DictionaryField(dictionaryName = "cms_aqjcsb", toFieldName = "equipmentName")
	private String equipment;

	@Transient
	private String equipmentName;

	/**
	 * 通道类型
	 */
	@Column(name = "channel_type", length = 50, nullable = true)
	@DictionaryField(dictionaryName = "cms_tdlx", toFieldName = "channeltypeName")
	private String channeltype;

	@Transient
	private String channeltypeName;

	/**
	 * 痕量爆炸物安全检查设备型号
	 */
	@Column(name = "unit_type", length = 50, nullable = true)
	private String unittype;

	/**
	 * 通道运行状况
	 */
	@Column(name = "running_status", length = 50, nullable = true)
	@DictionaryField(dictionaryName = "cms_tdyxzk", toFieldName = "runningstatusName")
	private String runningstatus;

	@Transient
	private String runningstatusName;

	/**
	 * 备注
	 */
	@Column(name = "remark", length = 50, nullable = true)
	private String remark;

	/**
	 * 记录人员签字
	 */
	@Column(name = "signature", length = 50, nullable = true)
	private String signature;

	@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
	@JoinColumn(name = "record_id")
	@OrderBy("serial_number asc")
	private Set<TouristsDifferentRecheckEntity> record = new LinkedHashSet<TouristsDifferentRecheckEntity>();

	public Set<TouristsDifferentRecheckEntity> getRecord() {
		return record;
	}

	public void setRecord(Set<TouristsDifferentRecheckEntity> record) {
		this.record = record;
	}

	/**
	 * 主键ID
	 */
	public String getId() {
		return id;
	}

	/**
	 * 主键ID
	 */
	public void setId(String value) {
		this.id = value;
	}

	/**
	 * 所属机场
	 */
	public String getAirport() {
		return airport;
	}

	/**
	 * 所属机场
	 */
	public void setAirport(String value) {
		this.airport = value;
	}

	@Transient
	public String getAirportName() {
		return airportName;
	}

	public void setAirportName(String airportName) {
		this.airportName = airportName;
	}

	public String getChannel() {
		return channel;
	}

	public void setChannel(String channel) {
		this.channel = channel;
	}

	/**
	 * 安全模式
	 */
	public String getSecuritymodel() {
		return securitymodel;
	}

	/**
	 * 安全模式
	 */
	public void setSecuritymodel(String value) {
		this.securitymodel = value;
	}

	/**
	 * 记录日期
	 */
	public java.util.Date getRecorddate() {
		return recorddate;
	}

	/**
	 * 记录日期
	 */
	public void setRecorddate(java.util.Date value) {
		this.recorddate = value;
	}

	/**
	 * 记录时间开始
	 */
	public java.util.Date getStarttime() {
		return starttime;
	}

	/**
	 * 记录时间开始
	 */
	public void setStarttime(java.util.Date value) {
		this.starttime = value;
	}

	/**
	 * 记录时间结束
	 */
	public java.util.Date getEndtime() {
		return endtime;
	}

	/**
	 * 记录时间结束
	 */
	public void setEndtime(java.util.Date value) {
		this.endtime = value;
	}

	/**
	 * 受检人员
	 */
	public String getSubject() {
		return subject;
	}

	/**
	 * 受检人员
	 */
	public void setSubject(String value) {
		this.subject = value;
	}

	/**
	 * 受检人员
	 */
	@Transient
	public String getSubjectName() {
		return subjectName;
	}

	/**
	 * 受检人员
	 */
	public void setSubjectName(String value) {
		this.subjectName = value;
	}

	/**
	 * 安检员数
	 */
	public Integer getScreenerscount() {
		return screenerscount;
	}

	/**
	 * 安检员数
	 */
	public void setScreenerscount(Integer value) {
		this.screenerscount = value;
	}

	/**
	 * 手提行李安全检查设备
	 */
	public String getEquipment() {
		return equipment;
	}

	/**
	 * 手提行李安全检查设备
	 */
	public void setEquipment(String value) {
		this.equipment = value;
	}

	/**
	 * 手提行李安全检查设备
	 */
	@Transient
	public String getEquipmentName() {
		return equipmentName;
	}

	/**
	 * 手提行李安全检查设备
	 */
	public void setEquipmentName(String value) {
		this.equipmentName = value;
	}

	/**
	 * 通道类型
	 */
	public String getChanneltype() {
		return channeltype;
	}

	/**
	 * 通道类型
	 */
	public void setChanneltype(String value) {
		this.channeltype = value;
	}

	/**
	 * 通道类型
	 */
	@Transient
	public String getChanneltypeName() {
		return channeltypeName;
	}

	/**
	 * 通道类型
	 */
	public void setChanneltypeName(String value) {
		this.channeltypeName = value;
	}

	/**
	 * 痕量爆炸物安全检查设备型号
	 */
	public String getUnittype() {
		return unittype;
	}

	/**
	 * 痕量爆炸物安全检查设备型号
	 */
	public void setUnittype(String value) {
		this.unittype = value;
	}

	/**
	 * 通道运行状况
	 */
	public String getRunningstatus() {
		return runningstatus;
	}

	/**
	 * 通道运行状况
	 */
	public void setRunningstatus(String value) {
		this.runningstatus = value;
	}

	/**
	 * 通道运行状况
	 */
	@Transient
	public String getRunningstatusName() {
		return runningstatusName;
	}

	/**
	 * 通道运行状况
	 */
	public void setRunningstatusName(String value) {
		this.runningstatusName = value;
	}

	/**
	 * 备注
	 */
	public String getRemark() {
		return remark;
	}

	/**
	 * 备注
	 */
	public void setRemark(String value) {
		this.remark = value;
	}

	/**
	 * 记录人员签字
	 */
	public String getSignature() {
		return signature;
	}

	/**
	 * 记录人员签字
	 */
	public void setSignature(String value) {
		this.signature = value;
	}

}
